package StringTest;
/*
如果以后需要进行大量字符串的拼接操作，建议使用jdk中的
    java.lang.StringBuffer
    java.lang.StringBuilder
    二者区别：
        StringBuffer中的方法都有synchronized关键字修饰，表示StringBuffer在多线程环境下运行是安全的
        StringBuilder中的方法都没有synchronized关键字修饰，表示StringBuilder在多线程环境下运行是不安全的

        StringBuffer是线程安全的
        StringBuilder是线程不安全的

    如何优化StringBuffer的性能
        在创建StringBuffer的时候尽可能给定一个初始化容量
        最好减少底层数组的扩容次数，预估计一下，给一个大一些的初始化容量
 */
public class StringBufferTest2 {
    public static void main(String[] args){
        //创建一个初始化容量为16个byte[] 数组（字符串缓冲区对象）
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("http://");
        stringBuffer.append("www");
        stringBuffer.append(".baidu");
        stringBuffer.append(".com");
        System.out.println(stringBuffer);
        //String类中的byte[]是final，不可变的，而StringBuffer类中的byte[]没有final修饰
    }
}
